﻿
IF NOT EXISTS (SELECT 1 FROM SystemSettingValue WHERE SystemSettingName = 'EmailMethod')
BEGIN
	INSERT INTO	
		SystemSettingValue
			(SystemSettingID, SystemSettingName, SystemSettingDescription, DataType, DefaultValue, SystemSettingValue, SystemSettingCategoryID)
	VALUES
		(35, 'EmailMethod', 'Which method of sending emails is used, one of: OAUTH or SMTP', 'System.String', 'SMTP', 'SMTP', 1)
END
IF NOT EXISTS (SELECT 1 FROM SystemSettingValue WHERE SystemSettingName = 'OAuthEmailTenantId')
BEGIN
	INSERT INTO	
		SystemSettingValue
			(SystemSettingID, SystemSettingName, SystemSettingDescription, DataType, DefaultValue, SystemSettingValue, SystemSettingCategoryID)
	VALUES
		(36, 'OAuthEmailTenantId', 'The Tenant Id used by MS-Exchange', 'System.String', '', '', 1)
END
IF NOT EXISTS (SELECT 1 FROM SystemSettingValue WHERE SystemSettingName = 'OAuthEmailAppId')
BEGIN
	INSERT INTO	
		SystemSettingValue
			(SystemSettingID, SystemSettingName, SystemSettingDescription, DataType, DefaultValue, SystemSettingValue, SystemSettingCategoryID)
	VALUES
		(37, 'OAuthEmailAppId', 'The App Id used by MS-Exchange', 'System.String', '', '', 1)
END
IF NOT EXISTS (SELECT 1 FROM SystemSettingValue WHERE SystemSettingName = 'OAuthEmailSecurityType')
BEGIN
	INSERT INTO	
		SystemSettingValue
			(SystemSettingID, SystemSettingName, SystemSettingDescription, DataType, DefaultValue, SystemSettingValue, SystemSettingCategoryID)
	VALUES
		(38, 'OAuthEmailSecurityType', 'The type of Security used, one of: SECRET or CERT or PFX or PFX64', 'System.String', '', '', 1)
END
IF NOT EXISTS (SELECT 1 FROM SystemSettingValue WHERE SystemSettingName = 'OAuthEmailCertificateData')
BEGIN
	INSERT INTO	
		SystemSettingValue
			(SystemSettingID, SystemSettingName, SystemSettingDescription, DataType, DefaultValue, SystemSettingValue, SystemSettingCategoryID)
	VALUES
		(39, 'OAuthEmailCertificateData', 'The data associated with a Certificate', 'System.String', '', '', 1)
END
IF NOT EXISTS (SELECT 1 FROM SystemSettingValue WHERE SystemSettingName = 'OAuthEmailCertificatePassword')
BEGIN
	INSERT INTO	
		SystemSettingValue
			(SystemSettingID, SystemSettingName, SystemSettingDescription, DataType, DefaultValue, SystemSettingValue, SystemSettingCategoryID)
	VALUES
		(40, 'OAuthEmailCertificatePassword', 'The password associated with a Certificate (prefixed ENCRYPTED:)', 'System.String', '', '', 1)
END
IF NOT EXISTS (SELECT 1 FROM SystemSettingValue WHERE SystemSettingName = 'OAuthEmailCertificateLocation')
BEGIN
	INSERT INTO	
		SystemSettingValue
			(SystemSettingID, SystemSettingName, SystemSettingDescription, DataType, DefaultValue, SystemSettingValue, SystemSettingCategoryID)
	VALUES
		(41, 'OAuthEmailCertificateLocation', 'The location of the Certificate. For CERT types, one of: CurrentUser or LocalMachine', 'System.String', '', '', 1)
END
IF NOT EXISTS (SELECT 1 FROM SystemSettingValue WHERE SystemSettingName = 'OAuthEmailCertificateSecretCode')
BEGIN
	INSERT INTO	
		SystemSettingValue
			(SystemSettingID, SystemSettingName, SystemSettingDescription, DataType, DefaultValue, SystemSettingValue, SystemSettingCategoryID)
	VALUES
		(42, 'OAuthEmailCertificateSecretCode', 'The secret code of the Certificate', 'System.String', '', '', 1)
END
IF NOT EXISTS (SELECT 1 FROM SystemSettingValue WHERE SystemSettingName = 'OAuthEmailSenderAddress')
BEGIN
	INSERT INTO	
		SystemSettingValue
			(SystemSettingID, SystemSettingName, SystemSettingDescription, DataType, DefaultValue, SystemSettingValue, SystemSettingCategoryID)
	VALUES
		(43, 'OAuthEmailSenderAddress', 'The email address from which emails are sent (aka From address)', 'System.String', '', '', 1)
END

IF NOT EXISTS (SELECT 1 FROM SystemSettingValue WHERE SystemSettingName = 'OneGradePlusAuthenticationType')
BEGIN
	INSERT INTO	
		SystemSettingValue
			(SystemSettingID, SystemSettingName, SystemSettingDescription, DataType, DefaultValue, SystemSettingValue, SystemSettingCategoryID)
	VALUES
		(44, 'OneGradePlusAuthenticationType', 'The type of authentication used by the OneGradePlusWebsite (must match web.config setting OGP_AUTH_MODE), one of: DEMO WINDOWS FORMS OAUTH', 'System.String', 'WINDOWS', '', 1)
END
